<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OpenBSD 4.0 Release</title>
<link rev=made href="mailto:www@openbsd.org">
<meta name="resource-type" content="document">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="description" content="OpenBSD 4.0">
<meta name="keywords" content="openbsd,main">
<meta name="distribution" content="global">
<meta name="copyright" content="This document copyright 2006 by OpenBSD.">
</head>

<body bgcolor="#ffffff" text="#000000" link="#24248E">

<a href="index.html">
<img alt="[OpenBSD]" height="30" width="141" hspace="24" src="images/smalltitle.gif" border="0"></a>
<hr>

<p>
<a href="images/Pufferix.jpg">
<img align="left" width="227" height="343" hspace="24" vspace="30"
src="images/Pufferix.jpg" alt="OpenBSD 4.0 logo"></a>
<h2><font color="#0000e0">The OpenBSD 4.0 Release:</font></h2>
<p>
Released Nov 1, 2006<br>
Copyright 1997-2006, Theo de Raadt.<br>
<font color="#e00000">ISBN 0-9731791-8-X</font>
<br>
<a href="lyrics.html#40">4.0 Song: "Humppa Negala"</a>
<p>

<a href="#new">What's New</a><br>
<a href="#install">How to install</a><br>
<a href="#upgrade">How to upgrade</a><br>
<a href="#ports">How to use the ports tree</a><br>
<a href="orders.html">Ordering a CD set</a><br>

<p>
<h3><font color="#0000e0">
To get the files for this release:
<ul>
<li>Order a CDROM from our <a href="orders.html">ordering system</a>.
<li>See the information on <a href="ftp.html">The FTP page</a> for
    a list of mirror machines.
<li>Go to the <font color="#e00000">pub/OpenBSD/4.0/</font> directory on
    one of the mirror sites.
<li>Briefly read the rest of this document.
<li>Have a look at <a href="errata40.html">The 4.0 Errata page</a> for a list
    of bugs and workarounds.
<li>See a <a href="plus40.html">detailed log of changes</a> between the
    3.9 and 4.0 releases.
</ul>
</font></h3>
<br clear=all>

<strong>Note:</strong> All applicable copyrights and credits can be found
in the applicable file sources found in the files src.tar.gz, sys.tar.gz,
XF4.tar.gz, or in the files fetched via ports.tar.gz.  The distribution
files used to build packages from the ports.tar.gz file are not included on
the CDROM because of lack of space.
<p>

<a name="new"></a>
<hr>
<p>
<h3><font color="#0000e0">What's New</font></h3>
<p>
This is a partial list of new features and systems included in OpenBSD 4.0.
For a comprehensive list, see the <a href="plus40.html">changelog</a> leading
to 4.0.
<p>

<ul>

<li>New/extended platforms:
<ul>
<li><a href="armish.html">OpenBSD/armish</a>.<br>
    Various ARM-based appliances, using the Redboot boot loader, currently
    only supporting the Thecus N2100 and IOData HDL-G.
<li><a href="sparc64.html">OpenBSD/sparc64</a>.<br>
    UltraSPARC III based  machines are now supported!
<li><a href="zaurus.html">OpenBSD/zaurus</a>.<br>
    Support for the Zaurus SL-C3200.
</ul>
<p>

<li>Improved hardware support, including:
<ul>
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=msk&amp;sektion=4">msk(4)</a> driver for Marvell/SysKonnect Yukon-2 Gigabit Ethernet.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bnx&amp;sektion=4">bnx(4)</a> driver for Broadcom NetXtreme II Gigabit Ethernet.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=xge&amp;sektion=4">xge(4)</a> driver for Neterion Xframe/Xframe II 10Gb Ethernet.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rum&amp;sektion=4">rum(4)</a> driver for Ralink Technology 2nd gen USB IEEE 802.11a/b/g wireless.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=acx&amp;sektion=4">acx(4)</a> driver for Texas Instruments ACX100/ACX111 IEEE 802.11a/b/g wireless.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pgt&amp;sektion=4">pgt(4)</a> driver for Connexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wireless.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=uath&amp;sektion=4">uath(4)</a> driver for Atheros USB IEEE 802.11a/b/g wireless.
<li>New binary blob free <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=wpi&amp;sektion=4">wpi(4)</a> driver for Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=arc&amp;sektion=4">arc(4)</a> driver for Areca Technology Corporation SATA RAID; including RAID management via <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bio&amp;sektion=4">bio(4)</a>.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mfi&amp;sektion=4">mfi(4)</a> driver for LSI Logic &amp; Dell MegaRAID SAS RAID; including RAID management via <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bio&amp;sektion=4">bio(4)</a>.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=azalia&amp;sektion=4">azalia(4)</a> driver for generic High Definition Audio.
<li>New SD/MMC/SDIO drivers (<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sdhc&amp;sektion=4">sdhc(4)</a>, <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sdmmc&amp;sektion=4">sdmmc(4)</a>), currently supporting SD memory cards as fake SCSI <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sd&amp;sektion=4">sd(4)</a> drives.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=udcf&amp;sektion=4">udcf(4)</a> driver for Gude ADS Expert mouseCLOCK DCF77/HBG time signal station receivers.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=uslcom&amp;sektion=4">uslcom(4)</a> driver for Silicon Laboratories CP2101/CP2102 based USB serial adapters.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ucycom&amp;sektion=4">ucycom(4)</a> driver for Cypress microcontroller based USB serial adapters.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=uark&amp;sektion=4">uark(4)</a> driver for Arkmicro Technologies ARK3116 based USB serial adapters.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=umsm&amp;sektion=4">umsm(4)</a> driver for Qualcomm MSM EVDO based modems.
<li>New Dallas/Maxim 1-Wire bus support, including:
<ul>
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gpioow&amp;sektion=4">gpioow(4)</a> driver for 1-Wire bus bit-banging through GPIO pin
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=onewire&amp;sektion=4">onewire(4)</a> 1-Wire bus driver
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=owid&amp;sektion=4">owid(4)</a> 1-Wire ID family driver
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=owtemp&amp;sektion=4">owtemp(4)</a> 1-Wire temperature family driver
</ul>
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isagpio&amp;sektion=4">isagpio(4)</a> driver for ISA I/O mapped as GPIO.
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nmea&amp;sektion=4">nmea(4)</a>
line discipline for NMEA 0183 (GPS) devices. The new
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nmeaattach&amp;sektion=8">nmeaattach(8)</a>
utility can be used to receive NMEA 0183 data and provide the time
received as a timedelta sensor to be used by, for example,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ntpd&amp;sektion=8">ntpd(8)</a>.
<li>New VAX framebuffer drivers:
<ul>
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lcg&amp;sektion=4&amp;arch=vax">lcg(4)</a> driver for VAXstation 4000/60 and VLC color frame buffers
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lcspx&amp;sektion=4&amp;arch=vax">lcspx(4)</a> driver for Low-Cost SPX color frame buffers
<li>New <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gpx&amp;sektion=4&amp;arch=vax">gpx(4)</a> driver for GPX color frame buffers
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=smg&amp;sektion=4&amp;arch=vax">smg(4)</a> driver for Small Monochrome Graphics frame buffers heavily updated to be a modern <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=wscons&amp;sektion=4">wscons(4)</a> driver
</ul>
<li>Support for VAX-based Digital VXT2000 and VXT2000+ terminals.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bge&amp;sektion=4">bge(4)</a> driver supporting newer chipsets, such as the Broadcom BCM5754, BCM5755, BCM5786, and BCM5787.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=em&amp;sektion=4">em(4)</a> driver supporting newer chipsets, such as the Intel ESB2 and ICH8.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nfe&amp;sektion=4">nfe(4)</a> driver supporting newer chipsets, such as the NVIDIA MCP61 and MCP65.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=re&amp;sektion=4">re(4)</a> driver supporting newer chipsets, such as the Realtek RT8101E, RT8168, and RT8169SC.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dc&amp;sektion=4">dc(4)</a> driver supporting newer chipsets, such as the ADMtek ADM9511 and ADM9513.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pciide&amp;sektion=4">pciide(4)</a> driver supporting newer chipsets, such as:
<ul>
<li>ATI IXP300 SATA, IXP600 IDE
<li>Intel 6321ESB IDE/SATA, 82801G SATA, and 82801H SATA
<li>IT Express IT8211F IDE
<li>NVIDIA MCP61 SATA, MCP65 SATA
<li>Promise PDC205xx SATA
<li>ServerWorks SATA
<li>VIA VT8237A SATA
</ul>
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mpt&amp;sektion=4">mpt(4)</a> driver has been replaced with <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mpi&amp;sektion=4">mpi(4)</a>, a more stable driver that supports more hardware.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=com&amp;sektion=4">com(4)</a> driver now supports pcmcia and cardbus cards on macppc.
<li>Working interrupt routing on Sun Netra t1 105, Ultra 60 and possibly other <a href="sparc64.html">sparc64</a> systems.
<li>Work around broken VIA and NVIDIA MPBIOSes, fixes interrupt routing with GENERIC.MP on several systems.
<li>Initial <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bio&amp;sektion=4">bio(4)</a> support for Compaq/HP <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ciss&amp;sektion=4">ciss(4)</a> Smart ARRAY 5/6 SAS/SCSI RAID controllers.
<li>Improved speed control on some systems:
<ul>
<li>New SpeedStep detection code, also adds support for VIA C7-M, and several newer Pentium M's.
<li>Support SpeedStep in rudimentary fashion on most unknown CPU's that advertise the feature.
<li>Zaurus can be moved into slower speeds now too.
<li>The Pentium 4 Thermal Clock Control driver now supports more CPU's including the Intel Pentium M and Xeon, and provides an estimated performance impact.
<li>Numerous improvements to PowerNow K7 and K8 support on i386, and support for K8 was added to amd64.
</ul>
<li>Support for Intel 945G/GM video chipsets (on i386).</li>
<li>Support for additional I2C sensors:
<ul>
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=adt&amp;sektion=4">adt(4)</a> driver now supports the National Semiconductor LM9600, SMSC EMC6D10x and SMSC SCH5017 chips.
<li>The <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=admtemp&amp;sektion=4">admtemp(4)</a> driver now supports the Analog Devices ADM1023, Genesys Logic GL523SM and Global Mixed-mode Technology G781 chips.
</ul>
</ul>
<p>

<li>New tools:
<ul>
<li>GNU RCS has been replaced with <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rcs&amp;sektion=1">OpenRCS</a>.
</ul>
<p>

<li>New functionality:
<ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsec&amp;sektion=4">IPsec</a>
 has been greatly improved:
<ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsecctl&amp;sektion=8">ipsecctl(8)</a>
 has been greatly extended and completely supersedes ipsecadm(8):
<ul>
<li>Lots of documentation improvements (man
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsec.conf&amp;sektion=5">ipsec.conf</a>)
<li>IPv6 support
<li>AH support
<li>Transport mode support
<li>Dynamic IKE support for roaming users
<li>USER_FQDN id support
</ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sasyncd&amp;sektion=8">sasyncd(8)</a>
 works much better:
<ul>
<li>communicates with
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isakmpd&amp;sektion=8">isakmpd(8)</a>,
 telling it to run active or passive depending on the master/slave state of the
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=carp&amp;sektion=4">carp(4)</a>
 interfaces.  This makes
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsec&amp;sektion=4">IPsec</a>
 failover setups much more robust.
<li>looks at the
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=carp&amp;sektion=4">carp(4)</a>
 interface group by default to suppress preemption of
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsec&amp;sektion=4">IPsec</a>
 traffic during system boot.
</ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isakmpd&amp;sektion=8">isakmpd(8)</a>
 can now be safely configured by
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsecctl&amp;sektion=8">ipsecctl(8)</a>
 on startup.
</ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ftp&amp;sektion=1">ftp(1)</a> now supports HTTPS.
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cdio&amp;sektion=1">cdio(1)</a> can now perform track-at-once burning and rewritable blanking.
<li>spppcontrol(8) and wicontrol(8) functionality has been merged into
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ifconfig&amp;sektion=8">ifconfig(8)</a>.
<li>gcc(1) provides a new warning, -Wstack-larger-than-N, to report functions
which are too greedy in stack variables, see
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc-local&amp;sektion=1">gcc-local(1)</a> for details.
<li>An in-kernel <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=getcwd&amp;sektion=3">getcwd(3)</a> implementation.
<li>A new system call <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=adjfreq&amp;sektion=2">adjfreq(2)</a>
to allow <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ntpd&amp;sektion=8">ntpd(8)</a>
to adjust the tick rate of the system clock automatically.
<li>Support for X11 on VAX has been added
<li>Virtual Allocation Table (VAT) support for <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=mount_udf&amp;sektion=8">UDF</a>.
<li>C99 functions
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=round&amp;sektion=3">round(3)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=roundf&amp;sektion=3">roundf(3)</a>,
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=trunc&amp;sektion=3">trunc(3)</a>, and
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=truncf&amp;sektion=3">truncf(3)</a>
have been added to libm, the math library.
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pf&amp;sektion=4">pf(4)</a>
 now supports Unicast Reverse Path Forwarding (uRPF) checks for simplified
 ingress filtering.
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bpf&amp;sektion=4">bpf(4)</a>
 can now ignore packets based on their direction (inbound/outbound) using the
 BIOCSDIRFILT ioctl.
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pdisk&amp;sektion=8&amp;arch=mac68k">pdisk(8)</a>
 can now set up slices on HFS(DPME) partitioned disks on mac68k.
<li>New dissectors have been added to
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tcpdump&amp;sektion=8">tcpdump(8)</a>:
<ul>
<li>Cisco's VQP (VLAN Query Protocol)
<li>IEEE 802.1AB LLDP (Link Layer Discovery Protocol)
</ul>
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=trunk&amp;sektion=4">trunk(4)</a> now
 supports the new loadbalance mode to balance outgoing traffic based on hashed protocol header
 information.
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=bioctl&amp;sektion=8">bioctl(8)</a> has been extended to provide runtime information on rebuilds, scrubs and initialization.
<li>New sysctls to check the system vendor, product, version, serial number, and UUID.
<li>Equal cost multipath routing support. Needs to be enabled by a sysctl.
<li>Prebind, a secure implementation of prelinking, has been added to
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ldconfig&amp;sektion=8" >ldconfig(8)</a>,
it speeds up launching of shared binaries. Prebind is compatible with
address space randomization, unlike prelink. 
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=vnconfig&amp;sektion=8">vnconfig(8)</a> can now use PKCS #5 PBKDF2 to create a more secure key when using encryption.
</ul>
<p>

<li>Assorted improvements and code cleanup:
<ul>
<li>Much better time keeping for multiprocessor <a href="i386.html">OpenBSD/i386</a>
systems.
<li>Much improved implementation of <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=telldir&amp;sektion=3">telldir(3)</a>
and friends.
<li>Replacement of many
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=malloc&amp;sektion=3">malloc(3)</a>
 calls that follow a pattern prone to integer overflow with safer constructs.
<li>Improved failover handling in
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=carp&amp;sektion=4">carp(4)</a>:
 <ul>
 <li>Extend the carp protocol with the demotion counter to act smarter on multiple failures.
 <li>Group failovers now work without carp running preempt mode.
 <li>Demotion can now be controlled via interface groups.
 </ul>
<li>
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=chio&amp;sektion=1">chio(1)</a>
is now a useful tool for controlling tape changers.
<li>Much improved
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=st&amp;sektion=4">st(4)</a>
device setup, tape handling and error processing.
<li>Many
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dhclient&amp;sektion=8">dhclient(8)</a>
fixes, including 'alias' handling and improved interface initialization.
<li>
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=scsi&amp;sektion=4">scsi(4)</a>
devices detect the correct SCSI version.
<li>More
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=umass&amp;sektion=4">umass(4)</a>
devices properly detected.
<li>Improved detection of fibre channel devices and devices in SCSI enclosures.
<li>The new RSSI header has been added to the <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ieee80211_radiotap&amp;sektion=9">ieee80211_radiotap(9)</a>
  framework as a replacement for ANTSIGNAL headers.
<li>Many integer type safety cleanups with
 <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lint&amp;sektion=1">lint(1)</a>.
</ul>
<p>

<li>Install/Upgrade process changes
<ul>
<li>Host specific site files add easy customization for individual hosts
<li>X Window aperture support, where available, now defaults to off
</ul>
<p>

<li>New functionality for 
    <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=hostapd&amp;sektion=8">hostapd(8)</a>,
    the Host Access Point Daemon:
<ul>
<li>IP based roaming to build wireless networks without the requirement
    of a single broadcast domain.
<li>New event rules to match optional elements of radiotap headers:
    signal percentage, transmit rate and channel frequency.
<li>Various bug fixes and improvements.
</ul>
<p>

<li>OpenSSH 4.4:
<ul>
<li>Conditional configuration in <a href=
   "http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&amp;sektion=5"
   >sshd_config(5)</a> using the <b>Match</b> directive.  This allows some
   configuration options to be selectively overridden if specific criteria
   (based on user, group, hostname and/or address) are met.
<li>Add support for Diffie-Hellman group exchange key agreement with a
   final hash of SHA256.
<li>Added a <b>ForceCommand</b> directive to <a href=
   "http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&amp;sektion=5"
   >sshd_config(5)</a>, similar to the command="..." option in
   ~/.ssh/authorized_keys.
<li>Added a <b>PermitOpen</b> directive to <a href=
   "http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&amp;sektion=5"
   >sshd_config(5)</a>, similar to the permitopen="..." option in
   authorized_keys, to allow control over the port-forwardings that a
   user is allowed to establish.
<li>Added an <b>ExitOnForwardFailure</b> option to cause ssh(1) to exit (with
   a non-zero exit code) when requested port forwardings could not be
   established.
<li>Added optional logging of transactions to <a href=
   "http://www.openbsd.org/cgi-bin/man.cgi?query=sftp-server&amp;sektion=8"
   >sftp-server(8)</a>.
<li><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssh&amp;sektion=1"
   >ssh(1)</a> will now record port numbers for hosts stored in
   ~/.ssh/authorized_keys when a non-standard port has been requested.
<li>Extended the <a href=
   "http://www.openbsd.org/cgi-bin/man.cgi?query=sshd_config&amp;sektion=5"
   >sshd_config(5)</a> "SubSystem" directive to allow the
   specification of commandline arguments.
<li>Many manpage fixes and improvements
</ul>
<p>

<li>OpenBGPD 4.0:
<ul>
<li>new nexthop selection logic ignoring bgpd routes, helps in complex setups
    with ospfd
<li>add a &quot;detailed&quot; show rib view to bgpctl, including communities
<li>allow requesting a route refresh from a peer that supports it
<li>have bgpd always report back the result of an operation to bgpctl, so
    the operator can spot errors quicker
<li>allow bgpd to manipulate carp demotion counters based on session states,
    gives even greater failover support
<li>support restarting sessions that reached max-prefix after a given time
<li>bgpctl can now show all routes received from a neighbor before filters
    were applied, and routes sent to neighbors
<li>assorted fixes and improvements, as usual
</ul>
<p>

<li>OpenOSPFD 4.0:
<ul>
<li>Track uptime of the daemon itself.
<li>Track uptime of all ospf enabled interfaces.
<li>Adjust logging behaviour to prevent unwanted logging.
<li>Delay LSA updates when removing and adding - prevent flapping.
<li>Fix plaintext authentication.
<li>Improve the output of 'ospfctl show interfaces'.
<li>Support rtlabels when redistributing routes.
</ul>
<p>

<li>OpenNTPD 4.0:
<ul>
<li>support timedelta sensors, such as DCF77 receivers supported by
    <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=udcf&amp;sektion=4">udcf(4)</a>
    and GPS receivers supported by
    <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nmea&amp;sektion=4">nmea(4)</a>.
<li>Adjust the kernel tick frequency, using 
    <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=adjfreq&amp;sektion=2">adjfreq(2)</a>,
    improving accuracy on many machines.
<li>allow for weight to be added to sensors or servers, so that one can
    weight timedelta sensors higher than ntp peers
</ul>
<p>

<li>Over 3700 ports, 3400 pre-built packages, improved package tools.
<li>Full support for pkg_add(1) over ssh(1), using one single connection.
<p>

<li>As usual, steady improvements in manual pages and other documentation.
<p>

<li>The system includes the following major components from outside suppliers:
<ul>
<li>X.Org 6.9.0 (+ patches, and i386 contains XFree86 3.3.6 servers
(+ patches) for legacy chipsets not supported by X.Org)
<li>Gcc 2.95.3
(+ <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc-local&amp;sektion=1">patches</a>)
and 3.3.5
(+ <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gcc-local&amp;sektion=1">patches</a>)
<li>Perl 5.8.8 (+ patches)
<li>Apache 1.3.29, mod_ssl 2.8.16, DSO support (+ patches)
<li>OpenSSL 0.9.7j (+ patches)
<li>Groff 1.15
<li>Sendmail 8.13.8, with libmilter
<li>Bind 9.3.2-P1 (+ patches)
<li>Lynx 2.8.5rel.4 with HTTPS and IPv6 support (+ patches)
<li>Sudo 1.6.8p9
<li>Ncurses 5.2
<li>Latest KAME IPv6
<li>Heimdal 0.7.2 (+ patches)
<li>Arla 0.35.7
<li>Binutils 2.15 (+ patches)
<li>Gdb 6.3 (+ patches)
</ul>
<p>

</ul>

<a name="install"></a>
<hr>
<p>
<h3><font color="#0000e0">How to install</font></h3>
<p>
Following this are the instructions which you would have on a piece of
paper if you had purchased a CDROM set instead of doing an alternate
form of install.  The instructions for doing an FTP (or other style
of) install are very similar; the CDROM instructions are left intact
so that you can see how much easier it would have been if you had
purchased a CDROM instead.
<p>

<hr>
Please refer to the following files on the three CDROMs or FTP mirror for
extensive details on how to install OpenBSD 4.0 on your machine:
<p>
<ul>
<li>CD1:4.0/i386/INSTALL.i386
<p>
<li>CD2:4.0/amd64/INSTALL.amd64
<li>CD2:4.0/macppc/INSTALL.macppc
<p>
<li>CD3:4.0/sparc/INSTALL.sparc
<li>CD3:4.0/sparc64/INSTALL.sparc64
<p>
<li>FTP:.../OpenBSD/4.0/alpha/INSTALL.alpha
<li>FTP:.../OpenBSD/4.0/armish/INSTALL.armish
<li>FTP:.../OpenBSD/4.0/cats/INSTALL.cats
<li>FTP:.../OpenBSD/4.0/hp300/INSTALL.hp300
<li>FTP:.../OpenBSD/4.0/hppa/INSTALL.hppa
<li>FTP:.../OpenBSD/4.0/luna88k/INSTALL.luna88k
<li>FTP:.../OpenBSD/4.0/mac68k/INSTALL.mac68k
<li>FTP:.../OpenBSD/4.0/mvme68k/INSTALL.mvme68k
<li>FTP:.../OpenBSD/4.0/mvme88k/INSTALL.mvme88k
<li>FTP:.../OpenBSD/4.0/sgi/INSTALL.sgi
<li>FTP:.../OpenBSD/4.0/vax/INSTALL.vax
<li>FTP:.../OpenBSD/4.0/zaurus/INSTALL.zaurus
</ul>
<hr>

<p>
Quick installer information for people familiar with OpenBSD, and the
use of the "disklabel -E" command.  If you are at all confused when
installing OpenBSD, read the relevant INSTALL.* file as listed above!
<p>

<h3><font color="#e00000">OpenBSD/i386:</font></h3>
<ul>
Play with your BIOS options to enable booting from a CD. The OpenBSD/i386
release is on CD1. If your BIOS does not support booting from CD, you will need
to create a boot floppy to install from. To create a boot floppy write
<i>CD1:4.0/i386/floppy40.fs</i> to a floppy and boot via the floppy drive.

<p>
Use <i>CD1:4.0/i386/floppyB40.fs</i> instead for greater SCSI controller
support, or <i>CD1:4.0/i386/floppyC40.fs</i> for better laptop support.

<p>
If you can't boot from a CD or a floppy disk,
you can install across the network using PXE as described in
the included INSTALL.i386 document.

<p>
If you are planning on dual booting OpenBSD with another OS, you will need to
read INSTALL.i386.

<p>
To make a boot floppy under MS-DOS, use the &quot;rawrite&quot; utility located
at <i>CD1:4.0/tools/rawrite.exe</i>. To make the boot floppy under a Unix OS,
use the
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dd&amp;sektion=1">dd(1)</a>
utility. The following is an example usage of
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=dd&amp;sektion=1">dd(1)</a>,
where the device could be &quot;floppy&quot;, &quot;rfd0c&quot;, or
&quot;rfd0a&quot;.

<ul><pre>
# <strong>dd if=&lt;file&gt; of=/dev/&lt;device&gt; bs=32k</strong>
</pre></ul>

<p>
Make sure you use properly formatted perfect floppies with NO BAD BLOCKS or
your install will most likely fail. For more information on creating a boot
floppy and installing OpenBSD/i386 please refer to
<a href="faq/faq4.html#MkFlop">FAQ 4.3.1</a>.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/amd64:</font></h3>
<ul>
The 4.0 release of OpenBSD/amd64 is located on CD2.
Boot from the CD to begin the install - you may need to adjust
your BIOS options first.
If you can't boot from the CD, you can create a boot floppy to install from.
To do this, write <i>CD2:4.0/amd64/floppy40.fs</i> to a floppy, then
boot from the floppy drive.

<p>
If you can't boot from a CD or a floppy disk,
you can install across the network using PXE as described in the included
INSTALL.amd64 document.

<p>
If you are planning to dual boot OpenBSD with another OS, you will need to
read INSTALL.amd64.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/macppc:</font></h3>
<ul>
Put CD2 in your CDROM drive and poweron your machine while holding down the
<i>C</i> key until the display turns on and shows <i>OpenBSD/macppc boot</i>.

<p>
Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
/4.0/macppc/bsd.rd</i>
</ul>

<p>
<h3><font color="#e00000">OpenBSD/sparc:</font></h3>
<ul>
The 4.0 release of OpenBSD/sparc is located on CD3. To boot off of this CD you
can use one of the two commands listed below, depending on the version of your
ROM.

<ul><pre>
ok <strong>boot cdrom 4.0/sparc/bsd.rd</strong>
or
&gt; <strong>b sd(0,6,0)4.0/sparc/bsd.rd</strong>
</pre></ul>

<p>
If your SPARC system does not have a CD drive, you can alternatively boot from floppy.
To do so you need to write <i>CD3:4.0/sparc/floppy40.fs</i> to a floppy.
For more information see <a href="faq/faq4.html#MkFlop">FAQ 4.3.1</a>.
To boot from the floppy use one of the two commands listed below,
depending on the version of your ROM.

<ul><pre>
ok <strong>boot floppy</strong>
or
&gt; <strong>b fd()</strong>
</pre></ul>

<p>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.

<p>
If your SPARC system doesn't have a floppy drive nor a CD drive, you can either
setup a bootable tape, or install via network, as told in the
INSTALL.sparc file.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/sparc64:</font></h3>
<ul>
Put CD3 in your CDROM drive and type <i>boot cdrom</i>.

<p>
If this doesn't work, or if you don't have a CDROM drive, you can write
<i>CD3:4.0/sparc64/floppy40.fs</i> or <i>CD3:4.0/sparc64/floppyB40.fs</i>
(depending on your machine) to a floppy and boot it with <i>boot
floppy</i>. Refer to INSTALL.sparc64 for details.

<p>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.

<p>
You can also write <i>CD3:4.0/sparc64/miniroot40.fs</i> to the swap partition on
the disk and boot with <i>boot disk:b</i>.

<p>
If nothing works, you can boot over the network as described in INSTALL.sparc64.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/alpha:</font></h3>
<ul>
<p>Write <i>FTP:4.0/alpha/floppy40.fs</i> or
<i>FTP:4.0/alpha/floppyB40.fs</i> (depending on your machine) to a diskette and
enter <i>boot dva0</i>. Refer to INSTALL.alpha for more details.

<p>
Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
will most likely fail.

</ul>

<p>
<h3><font color="#e00000">OpenBSD/armish:</font></h3>
<ul>
<p>
After connecting a serial port, Thecus can boot directly from the network
either tftp or http. Configure the network using fconfig, reset,
then load bsd.rd, see INSTALL.armish for specific details.
IOData HDL-G can only boot from an EXT-2 partition. Boot into linux
and copy 'boot' and bsd.rd into the first partition on wd0 (hda1)
then load and run bsd.rd, preserving the wd0i (hda1) ext2fs partition.
More details are available in INSTALL.armish.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/cats:</font></h3>
<ul>
<p>
After updating the firmware to at least ABLE 1.95 if necessary, boot
<i>FTP:4.0/cats/bsd.rd</i> from an ABLE-supported device (such as a CD-ROM
or an existing FFS or EXT2FS partition).
</ul>

<p>
<h3><font color="#e00000">OpenBSD/hp300:</font></h3>
<ul>
<p>
Boot over the network by following the instructions in INSTALL.hp300.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/hppa:</font></h3>
<ul>
<p>
Boot over the network by following the instructions in INSTALL.hppa or the
<a href="hppa.html#install">hppa platform page</a>.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/luna88k:</font></h3>
<ul>
<p>
Copy bsd.rd to a Mach or UniOS partition, and boot it from the PROM.
Alternatively, you can create a bootable tape and boot from it. Refer to
the instructions in INSTALL.luna88k for more details.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/mac68k:</font></h3>
<ul>
<p>
Boot MacOS as normal and extract the Macside "BSD/Mac68k Booter" utility from
<i>FTP:4.0/mac68k/utils</i> onto your hard disk.  Configure the "BSD/Mac68k
Booter" with the location of your bsd.rd kernel and boot into the installer.
Refer to the instructions in INSTALL.mac68k for more details.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/mvme68k:</font></h3>
<ul>
<p>
You can create a bootable installation tape or boot over the network.<br>
The network boot requires a MVME68K BUG version that supports the <i>NIOT</i>
and <i>NBO</i> debugger commands. Follow the instructions in INSTALL.mvme68k
for more details.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/mvme88k:</font></h3>
<ul>
<p>
You can create a bootable installation tape or boot over the network.<br>
The network boot requires a MVME88K BUG version that supports the <i>NIOT</i>
and <i>NBO</i> debugger commands. Follow the instructions in INSTALL.mvme88k
for more details.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/sgi:</font></h3>
<ul>
<p>
Burn cd40.iso on a CD-R, put it in the CD drive of your machine and
select <i>Install System Software</i> from the System Maintenance menu.

<p>
If your machine doesn't have a CD drive, you can
setup a DHCP/tftp network server, and boot using "bootp()/bsd.rd".
Refer to the instructions in INSTALL.sgi for more details.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/vax:</font></h3>
<ul>
Boot over the network via mopbooting as described in INSTALL.vax.
</ul>

<p>
<h3><font color="#e00000">OpenBSD/zaurus:</font></h3>
<ul>
<p>
Using the Linux built-in graphical ipkg installer, install the
openbsd40_arm.ipk package.  Reboot, then run it.  Read INSTALL.zaurus
for a few important details.
</ul>

<p>
<h3><font color="#e00000">Notes about the source code:</font></h3>
<ul>
src.tar.gz contains a source archive starting at /usr/src.  This file
contains everything you need except for the kernel sources, which are
in a separate archive.  To extract:
<p>
<ul><pre>
# <strong>mkdir -p /usr/src</strong>
# <strong>cd /usr/src</strong>
# <strong>tar xvfz /tmp/src.tar.gz</strong>
</pre></ul>
<p>
sys.tar.gz contains a source archive starting at /usr/src/sys.
This file contains all the kernel sources you need to rebuild kernels.
To extract:
<p>
<ul><pre>
# <strong>mkdir -p /usr/src/sys</strong>
# <strong>cd /usr/src</strong>
# <strong>tar xvfz /tmp/sys.tar.gz</strong>
</pre></ul>
<p>
Both of these trees are a regular CVS checkout.  Using these trees it
is possible to get a head-start on using the anoncvs servers as
described <a href="anoncvs.html">here</a>.
Using these files
results in a much faster initial CVS update than you could expect from
a fresh checkout of the full OpenBSD source tree.
<p>
</ul>

<a name="upgrade"></a>
<hr>
<p>
<h3><font color="#0000e0">How to upgrade</font></h3>
<p>
If you already have an OpenBSD 3.9 system, and do not want to reinstall,
upgrade instructions and advice can be found in the
<a href="faq/upgrade40.html">Upgrade Guide</a>.

<a name="ports"></a>
<hr>
<p>
<h3><font color="#0000e0">Ports Tree</font></h3>
<p>
A ports tree archive is also provided.  To extract:
<p>
<ul><pre>
# <strong>cd /usr</strong>
# <strong>tar xvfz /tmp/ports.tar.gz</strong>
# <strong>cd ports</strong>
</pre></ul>
<p>
The <i>ports/</i> subdirectory is a checkout of the OpenBSD ports tree.  Go
read the <a href="ports.html">ports</a> page
if you know nothing about ports
at this point.  This text is not a manual of how to use ports.
Rather, it is a set of notes meant to kickstart the user on the
OpenBSD ports system.
<p>
The <i>ports/</i> directory represents a CVS (see the manpage for
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=cvs&amp;apropos=0&amp;sektion=1&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html">
cvs(1)</a> if
you aren't familiar with CVS) checkout of our ports.  As with our complete
source tree, our ports tree is available via anoncvs.  So, in
order to keep current with it, you must make the <i>ports/</i> tree
available on a read-write medium and update the tree with a command
like:
<p>
<ul><pre>
# <strong>cd [portsdir]/; cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_4_0</strong>
</pre></ul>
<p>
[Of course, you must replace the local directory and server name here
with the location of your ports collection and a nearby anoncvs
server.]
<p>
Note that most ports are available as packages through FTP. Updated
packages for the 4.0 release will be made available if problems arise.
<p>
If you're interested in seeing a port added, would like to help out, or just
would like to know more, the mailing list ports@openbsd.org is a good
place to know.
<p>

<hr>
<a href="index.html"><img height="24" width="24" src="back.gif" border="0"
alt="OpenBSD"></a>
<a href="mailto:www@openbsd.org">www@openbsd.org</a>
<br><small>
$OpenBSD: 40.html,v 1.89 2008/01/05 18:15:14 tobias Exp $
</small>

</body>
</html>
